#ifndef _TRIBE_
#define _TRIBE_

#include <iostream>
#include <string>
#include <vector>

#include "Human.h"

namespace Hunger
{
	class Tribe
	{
	public:
		enum FoodSupply
		{
			Cornucopia = 100,
			Plentiful = 75,
			Adequate = 50,
			Poverty = 25,
			Famine = 0
		};

		enum Morale
		{
			Joyful = 100,
			Happy = 75,
			Content = 50,
			Depressed = 25,
			Suffering = 0
		};

		enum Empathy
		{
			Benevolent = 100,
			Kind = 75,
			Lukewarm = 50,
			Hateful = 25,
			Malevolent = 0
		};

		Tribe(int people = 25);
		~Tribe();

		const int GetFoodSupply()	{ return foodstore; }
		const int GetMorale()		{ return morale; }
		const int GetEmpathy()		{ return empathy; }

		void SetWeather(int currentWeather)			{ weather = currentWeather; }
		void SetDisaster(int currentDisaster)		{ disaster = currentDisaster; }
		void SetPestilence(int currentPestilence)	{ pestilence = currentPestilence; }

		void UpdateSelf();
		void DisplaySelf();

	private:
		void AffectPeople();
		void FigureFoodSupply();
		void FigureMorale();
		void FigureEmpathy();

		void HoldCouncil();

		void Hunt();
		void PreserveMeat();

	private:
		int foodstore;
		int morale;
		int empathy;

		int weather;
		int disaster;
		int pestilence;

		int dailyKills;

		std::vector<Human *> people;
	};
}
#endif //_TRIBE_
